package com.ctvit.cch.core.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ctvit.cch.core.pojo.domain.CreativeIdea;
import com.ctvit.cch.core.pojo.dto.creative.CreativeIdeaAddDTO;
import com.ctvit.cch.core.pojo.dto.creative.CreativeIdeaEditDTO;
import com.ctvit.cch.core.pojo.dto.creative.CreativeIdeaMyDTO;
import com.ctvit.cch.core.pojo.vo.creative.CreativeIdeaGetVO;
import com.ctvit.cch.core.pojo.vo.creative.CreativeIdeaListVO;

/**
 * 灵感创意Service接口
 *
 * @author heyingcheng
 * @date 2025/10/11
 */
public interface ICreativeIdeaService extends IService<CreativeIdea> {

    /**
     * 获取灵感创意
     *
     * @param id 灵感创意ID
     * @return {@link CreativeIdeaGetVO } 灵感创意数据
     */
    CreativeIdeaGetVO get(String id);

    /**
     * 新增灵感创意
     *
     * @param idea 创意数据
     * @return {@link CreativeIdeaAddDTO} 灵感创意信息
     */
    boolean add(CreativeIdeaAddDTO dto);

    /**
     * 修改灵感创意
     *
     * @param idea 创意数据
     * @return {@link CreativeIdeaAddDTO} 灵感创意信息
     */
    boolean edit(CreativeIdeaEditDTO dto);

    /**
     * 我的灵感创意列表
     * 
     * @param dto 创意数据
     * @return {@link List<CreativeIdeaListVO>} 列表数据
     */
    List<CreativeIdeaListVO> getMyList(CreativeIdeaMyDTO dto);

    /**
     * 根据热榜记录ID新增灵感创意
     * 
     * @param recordId 热榜记录ID
     * @return 新增结果
     */
    boolean addByRecord(String recordId);

}
